package cn.tmall;

import cn.tmall.node.MenuNode;
import cn.tmall.node.Node;
import cn.tmall.node.RouterMenu;
import cn.tmall.node.ZTreeNode;
import cn.tmall.entity.system.Menu;

import java.util.List;

public interface IMenuService {

    void delMenuContainSubMenus(Long menuId);

    /**
     * 获取菜单列表
     * @return
     */
    List<MenuNode> getMenus();

    /**
     * 获取左侧菜单树
     * @return
     */
    List<RouterMenu> getSideBarMenus(List<Long> roleIds);

    List<ZTreeNode> menuTreeList(List<Long> menuIds);

    void menuSetPcode(Menu menu);

    List<Node> generateMenuTreeForRole(List<ZTreeNode> list);


    List<Long> getMenuIdsByRoleId(Integer roleId);

    List<String> getResUrlsByRoleId(Long roleId);
}
